home *** CD-ROM | disk | FTP | other *** search
/ Power CD / Power CD ATARI-Rechner Lieben.iso / ALLERLEI / CLOCKDRV / CLOCKDRV.DOK < prev    next >
Encoding:
Text File  |  1993-11-27  |  28.5 KB  |  652 lines

  1.  
  2.  
  3.  
  4.             ******************************************************
  5.             *                                                    *
  6.             *                     CLOCKDRV.PRG                   *
  7.             *                                                    *
  8.             *      Treiber für einen DCF-77-Atomzeitempfänger    *
  9.             *               plus Bildschirmschoner               *
  10.             * plus Datums-/ Uhrzeit-Einblendung in die Menüzeile *
  11.             *                                                    *
  12.             *                                                    *
  13.             *                     CLOCKDRV.CPX                   *
  14.             *                                                    *
  15.             *        Konfigurationsmodul für CLOCKDRV.PRG        *
  16.             *                                                    *
  17.             *                     Version 1.2                    *
  18.             *                                                    *
  19.             *             (C) Klaus Rittmeier,  29.9.93          *
  20.             *                                                    *
  21.             ******************************************************
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.                                  A C H T U N G
  30.                                 _______________
  31.  
  32.  
  33. Die Programme CLOCKDRV.PRG, CLOCKDRV.CPX und LOAD_CPX.ACC dürfen nur gemeinsam
  34. und nur zusammen mit CLOCKDRV.DOK (dieser Dokumentation) verbreitet werden.
  35. Veränderungen an den Programmen oder an dieser Dokumentation sind untersagt.
  36.  
  37. CLOCKDRV.PRG, CLOCKDRV.CPX und LOAD_CPX.ACC dürfen kostenlos verbreitet und
  38. benutzt werden, jedoch nicht ohne Zustimmung des Autors kommerziell verwertet
  39. werden.
  40. Bei Verwendung von CLOCKDRV.PRG als Treiber für einen DCF-77-Empfänger sollte
  41. sich der Nutzer beim Autor gegen eine Sharewaregebühr von 20,-DM registrieren
  42. lassen. Bei Einsatz ohne Empfänger ist die Benutzung kostenlos.
  43.  
  44. Registrierte Benutzer kommen in den Genuß des ( bis auf die Disketten- und
  45. Versandkosten ) kostenlosen Update-Service. Sie werden bei Erscheinen einer
  46. neuen Programmversion benachrichtigt oder können bereits bei der Registrie-
  47. rung 5,-DM in Briefmarken beilegen, dann bekommen sie die nächste Version
  48. automatisch.
  49.  
  50. Für eventuelle Schäden, die durch Benutzung dieses Programmes entstanden sind,
  51. übernimmt der Autor keine Haftung.
  52.  
  53.  
  54.  
  55.  
  56. ******************************************************************************
  57.  
  58.  
  59.  
  60. INHALT
  61. ______________________________________
  62.  
  63.  
  64. 1.     Funktionsbeschreibung
  65. 1.1.   Bildschirmschoner
  66. 1.1.1. Bildschirmschoner Typ "VDI"
  67. 1.1.2. Bildschirmschoner Typ "Shifter"
  68. 1.1.3. Bildschirmschoner Typ "Palette"
  69. 1.2.   Uhrzeitanzeige
  70. 1.3.   Treiber für Atomuhr
  71. 2.     Installation
  72. 3.     Konfigurierung
  73. 4.     Einschränkungen
  74. 5.     Anschluß einer Funkuhr an den ATARI
  75. 6.     Informationen für Insider
  76. 7.     Hotline
  77. 8.     Updates
  78. 9.     Wenn es nicht so läuft, wie es soll...
  79.  
  80.  
  81. ******************************************************************************
  82.  
  83.  
  84.  
  85. 1. FUNKTIONSBESCHREIBUNG
  86. ________________________
  87.  
  88.  
  89.  
  90. CLOCKDRV.PRG ist ein Multifunktionsprogramm für alle Rechner der ATARI ST-,
  91. STE- und TT-Reihe. Es läuft in jeder Auflösung und benötigt ca. 22 kB
  92. Speicher. Es müßte auch auf Grafikkarten funktionieren, was jedoch nicht
  93. getestet werden konnte.
  94.  
  95. Es installiert sich resident im Arbeitsspeicher des Rechners und verrichtet
  96. seine Aufgaben im Hintergrund.
  97.  
  98. CLOCKDRV.CPX dient der Konfiguration von CLOCKDRV.PRG, d.h. damit können die
  99. einzelnen Funktionen gewählt und bestimmte Parameter gesetzt werden.
  100.  
  101. CLOCKDRV.PRG ist auch ohne CLOCKDRV.CPX voll funktionsfähig.
  102.  
  103. Für CLOCKDRV.CPX ist der Besitz des modularen Kontrollfeldes XCONTROL.ACC von
  104. Atari Voraussetzung. Nichtbesitzer dieses Kontrollfeldes können stattdessen
  105. das Programm LOAD_CPX.ACC verwenden. Dieses Programm funktioniert ähnlich wie
  106. das Kontrollfeld, hat jedoch eingeschränkte Funktionen.
  107.  
  108.  
  109. Drei Funktionen in CLOCKDRV.PRG sind es, die auch unabhängig voneinander
  110. genutzt, bzw. ein- und ausgeschaltet werden können:
  111.  
  112.  
  113.  
  114. 1.1. Bildschirmschoner
  115. ----------------------
  116.  
  117. CLOCKDRV.PRG ist ein Bildschirmschoner, der sich von vergleichbaren Programmen
  118. in einigen Punkten unterscheidet und speziell auf die Treiberfunktion für eine
  119. Funkuhr angepaßt ist.
  120.  
  121. Wenn nicht mit dem Rechner gearbeitet wird, d.h., wenn die Maus nicht bewegt
  122. wird und keine Taste gedrückt wird, verändert sich i.d.R. das Monitorbild
  123. nicht. Dann besteht die Gefahr, daß sich der Elektronenstrahl in die Leucht-
  124. schicht einbrennt, was dauerhafte Spuren in der Schicht hinterläßt.
  125. CLOCKDRV.PRG sorgt dafür, daß in diesem Falle nach einer vorgegebenen Zeit
  126. der Bildschirm dunkel wird. Jede Mausbewegung bzw. jeder Tastendruck läßt das
  127. normale Monitorbild wieder sichtbar werden.
  128.  
  129. Achtung: Viele andere Bildschirmschoner schalten einfach die Synchronisation
  130. des Monitors ab. Das kann u.U. für den Monitor verheerende Folgen haben.
  131. CLOCKDRV.PRG ist monitorfreundlich. Es wird ein schwarzes "Bild" dargestellt.
  132.  
  133. In CLOCKDRV gibt es drei verschiedene Typen von Bildschirmschonern. Jeder Typ
  134. hat seine Vor- und Nachteile. Den "Universalschoner" gibt es leider nicht.
  135. Die Typbezeichnung wurde vom Funktionsprinzip abgeleitet und ist für den
  136. Nicht-ATARI-Fachmann nichtssagend:
  137.  
  138.  
  139. 1.1.1. Bildschirmschoner Typ "VDI"
  140. ----------------------------------
  141.  
  142. Dies ist ein sogenannter animierter Bildschirmschoner. Das bedeutet, während
  143. der Dunkelphase (Schonpase) passiert etwas auf dem Bildschirm. Lassen Sie sich
  144. überraschen.
  145. Die Dunkelschaltung kann auch verhindert werden. Dazu muß man nur die Maus in
  146. der rechten unteren Ecke des Bildes parken. Umgekehrt läßt sich die Abschal-
  147. tung (fast) sofort erzwingen, wenn die Maus in die linke untere Ecke des
  148. Bildes geschoben wird.
  149.  
  150. - Vorteil: Man sieht etwas auf dem Bildschirm, was einem signalisiert, daß der
  151.   Rechner läuft.
  152. - Nachteil: Das gerade laufende Programm wird für die Dauer der Dunkelphase
  153.   angehalten. Dieser Schoner ist also weniger geeignet, wenn beispielsweise
  154.   langwierige Rechnungen laufen, da diese solange unterbrochen werden.
  155. - Zweiter Nachteil: Funktioniert nicht, wenn sich der Rechner im sogenannten
  156.   Supervisormodus befindet. Das ist sehr häufig in einfachen TOS-Programmen
  157.   der Fall, aber auch beim normalen GEM-Desktop verweigert dieser Typ manch-
  158.   mal seinen Dienst.
  159. - Dritter Nachteil: Benötigt für die Dauer der Dunkelphase zusätzlichen
  160.   Speicher. Deshalb funktioniert er nicht, wenn nicht mehr genügend freier
  161.   Speicher zur Verfügung steht. Sie können allerdings diesen Zusatzspeicher
  162.   bereits bei Programmstart reservieren. (vgl. 3.)
  163.  
  164.  
  165. 1.1.2. Bildschirmschoner Typ "Shifter"
  166. --------------------------------------
  167.  
  168. Dies ist kein animierter Schoner, es wird lediglich ein schwarzer Bildschirm
  169. dargestellt.
  170.  
  171. - Vorteil: Das laufende Programm wird während der Dunkelphase nicht gestoppt.
  172. - Zeiter Vorteil: Funktioniert auch, wenn sich der Rechner im Supervisormodus
  173.   befindet. (vgl. 1.1.1.)
  174.  
  175. - Nachteil: Braucht einen zweiten Bildschirmspeicher, der schon beim Programm-
  176.   start reserviert werden muß. Bei einem normalen Atari-ST oder -STE werden
  177.   bereits beim Programmstart zusätzlich 32 kByte Speicher reserviert, die
  178.   natürlich den verfügbaren freien Speicher für andere Programme schmälern.
  179.  
  180.  
  181. 1.1.3. Bildschirmschoner Typ "Palette"
  182. --------------------------------------
  183.  
  184. Die ist die einfachste Form eines Bildschirmschoners. Er ist in dieser Art
  185. auch in Ataris Mausbeschleuniger-Programm MACCEL3.PRG integriert.
  186. Es handelt sich ebenfalls um einen nicht animierten Schoner. Er ändert ledig-
  187. lich die Farbpalette des Rechners, was sich auf dem Atari-ST und -STE in der
  188. hohen Auflösung so zeigt, daß das Bild negativ dargestellt wird.
  189. Würde das negative Bild lange stehenbleiben, so währe natürlich der Schon-
  190. effekt gleich Null, deshalb wird regelmäßig zwischen positiver und negativer
  191. Darstellung umgeschaltet.
  192.  
  193. - Vorteil: Er benötigt im Gegensatz zu den beiden anderen Typen keinen zusätz-
  194.   lichen Speicher für die Dauer der Dunkelphase.
  195. - Zweiter Vorteil: Das laufende Programm wird nicht angehalten.
  196. - Dritter Vorteil: Funktioniert auch im Supervisormodus (s.o.)
  197.  
  198. - Nachteil: Bild wird bei Atari-ST und -STE nicht wirklich schwarz, sondern
  199.   nur invertiert.
  200.  
  201.  
  202.  
  203. 1.2. Die Uhrzeitanzeige
  204. -----------------------
  205.  
  206. CLOCKDRV.PRG sorgt auf Wunsch dafür, daß in der Menüzeile (also in der ersten
  207. Zeile des Bildschirmes) am rechten Rand das Datum und/oder die Uhrzeit einge-
  208. blendet wird - für alle, die immer wissen wollen, was die Uhr geschlagen hat.
  209. Die angezeigte Uhrzeit wird ca. einmal pro Sekunde aktualisiert. Deshalb ist
  210. sie nicht exakt "Tagesschau-synchron".
  211. Die Anzeige erfolgt jedoch nur, wenn sich der Rechner nicht im sogenannten
  212. Supervisormodus befindet, was leider in manchen TOS-Programmen oder auch
  213. beispielsweise beim GEM-Desktop sehr häufig der Fall ist.
  214.  
  215.  
  216.  
  217.  
  218. 1.3. Der Treiber für die Funkuhr
  219. --------------------------------
  220.  
  221. Die wichtigste Funktion von CLOCKDRV.PRG - Ein integrierter Treiber für eine
  222. DCF-77-Funkuhr. Dieser liesst die Signale von einer an den Joystickport ange-
  223. schlossenen Funkuhr ein und stellt die Systemuhr des Rechners entsprechend.
  224.  
  225. Dazu einige Erläuterungen:
  226.  
  227. Für die ATARI-ST/STE/TT-Rechner gibt es derzeit auf dem Markt sogenannte Funk-
  228. uhren oder Atomuhren (z.B. Düsseldorfer Ei). Dabei handelt es sich nicht im
  229. eigentlichen Sinne um Uhren (schon garnicht um Atomuhren), sondern um Empfän-
  230. ger, die das Zeitzeichensignal des Langwellensenders DCF-77 empfangen und für
  231. den Rechner aufbereiten.
  232. Dieser Sender bezieht sein Zeitsignal von einer hochgenauen Cäsium-Atomuhr
  233. der Physikalisch-Technischen Bundesanstalt in Braunschweig. Diese Atomuhr
  234. gehört zu den genauesten Uhren der Welt.
  235. Wenn die empfangene Zeitinformation entsprechend aufbereitet wird, hat der
  236. Rechner immer die richtige Systemzeit. Uhrstellen beim Atari-ST(E) wird damit
  237. überflüssig, aber auch die Rechner mit einer eingebauten batteriegepufferten
  238. Uhr profitieren von der höheren Genauigkeit der DCF-77-Uhr und der automati-
  239. schen Umstellung auf Sommerzeit.
  240.  
  241. Nun muß man sich aber nicht unbedingt einen vergleichsweise teuren Empfänger
  242. für den ATARI kaufen, sondern kann sich mit etwas Geschick auch eine der zahl-
  243. reichen Funkuhren, die es mit Digitalanzeige oder Analogzifferblatt in jedem
  244. Uhrengeschäft oder als Modul oder Bausatz im Elektronik-Handel gibt, so modi-
  245. fizieren, daß man sie an den den ATARI anschließen kann. (mehr dazu s.u.)
  246. Ein Vorteil: Die Uhr läßt sich weiterhin autonom betreiben, so hat man auch
  247. die Atomzeit, wenn der Rechner aus ist.
  248.  
  249. Was man dann noch braucht, ist eine Treibersoftware, die dafür sorgt, daß die
  250. Impulse von der Uhr korrekt verarbeitet werden und daß die Betriebssystemuhr
  251. entprechend gestellt wird. Ein solcher Treiber ist CLOCKDRV.PRG.
  252.  
  253. Zu den anschlußfertigen Funkuhren für den ATARI bekommt man natürlich Treiber
  254. dazu. Allerdings sind diese noch verbesserungswürdig: Da so ein Empfänger
  255. i.d.R. an den Joystickport angeschlossen wird, funktionieren die gängigen
  256. Bildschirmschoner nicht mehr, denn der Tastaturprozessor sendet ständig
  257. Impulse an den Rechner und der Bildschirmschoner "denkt" immer, die Maus
  258. würde bewegt oder eine Taste würde gedrückt.
  259.  
  260. Also muß unser Treiber dafür sorgen, daß der Schoner zwar auf Maus- und
  261. Tastenimpulse reagiert, nicht jedoch auf Joystickimpulse. Und da sich das
  262. nicht mit einem x-beliebigen Bildschirmschoner realisieren läßt, wurde in
  263. CLOCKDRV.PRG gleich der Bildschirmschoner integriert.
  264.  
  265.  
  266.  
  267. ******************************************************************************
  268.  
  269.  
  270.  
  271. 2. INSTALLATION
  272. _______________
  273.  
  274.  
  275.  
  276. CLOCKDRV.PRG kann sowohl aus dem AUTO-Ordner als auch vom Desktop gestartet
  277. werden. Das Programm installiert sich dann resident, das heißt, es bleibt bis
  278. zum nächsten Reset im Speicher und verrichtet seine Arbeit im Hintergrund.
  279. Eine doppelte Installation wird automatisch verhindert.
  280. Am besten kopieren Sie CLOCKDRV.PRG einfach in den AUTO-Ordner Ihrer Start-
  281. diskette bzw. der Bootpartition Ihrer Festplatte.
  282.  
  283. CLOCKDRV.CPX setzt normalerweise voraus, daß Sie im Besitz des modularen
  284. Kontrollfeldes XCONTROL.ACC von Atari sind (ist beim Atari-Händler zu haben).
  285. Dieses neue Kontrollfeld für alle ATARI-ST(E) und TT-Rechner kann beliebig
  286. viele Programmodule (sogenannte CPX-Module) verwalten.
  287. CLOCKDRV.CPX muß in das Verzeichnis für die CPX-Module kopiert werden, und
  288. wird dann beim nächsten Booten automatisch ins Kontrollfeld aufgenommen.
  289.  
  290. Wenn Sie das modulare Kontrollfeld XCONTROL.ACC von Atari nicht besitzen, so
  291. benutzen Sie LOAD_CPX.ACC. Damit können sie CLOCKDRV.CPX auch ausführen.
  292. Sie können LOAD_CPX.ACC als Desk-Acessory installieren und rufen es dann über
  293. den Eintrag "CPX-Modul starten" im Desk-Menü auf, oder Sie benennen es in
  294. LOAD_CPX.PRG um und starten es ganz normal vom Desktop aus. Nach dem Start
  295. von LOAD_CPX können Sie CLOCKDRV.CPX nachladen und ausführen.
  296.  
  297.  
  298. ******************************************************************************
  299.  
  300.  
  301.  
  302. 3. KONFIGURIERUNG
  303. _________________
  304.  
  305.  
  306.  
  307. CLOCKDRV.PRG läßt sich in seinen Eigenschaften den Bedürfnissen des Anwenders
  308. anpassen. Insbesondere bei Unverträglichkeiten mit anderen Programmen können
  309. bestimmte Parameter geändert werden.
  310. Zur Konfiguration von CLOCKDRV.PRG dient der Kontrollfeld-Modul CLOCKDRV.CPX.
  311. Wenn CLOCKDRV.CPX im Kontrollfeld installiert ist, rufen Sie es über den
  312. Eintrag "Treiber konfig." ( mit der Sanduhr als Symbol ) auf.
  313.  
  314. Mit den Buttons und Edit-Feldern können die Funktionen von CLOCKDRV.PRG den
  315. Wünschen des Anwenders angepaßt werden können:
  316.  
  317. 1. "Menüzeile", linker Button
  318.    Damit wird eingestellt, ob auf der rechten Seite der oberen Bildschirmzeile
  319.    (Menüzeile) entweder Datum und Uhrzeit oder nur Uhrzeit oder garnichts
  320.    eingeblendet wird.
  321.    Wenn eine Funkuhr angeschlossen ist, wird links neben der eingeblendeten
  322.    Zeit auch noch mit einem Symbol signalisiert, ob Impulse empfangen werden
  323.    (Pfeil) und ob die empfangenen Daten gültig sind (Uhr).
  324.  
  325. 2. "Menüzeile", rechter Button
  326.    Wenn in der Menüzeile Datum und/oder Uhrzeit eingeblendet wird, kann damit
  327.    das Aussehen der Zeichen zwischen normalen Zeichen und einem "Digital-Look"
  328.    umgeschaltet werden.
  329.  
  330. 3. "Menüzeile" Pfeil links/rechts
  331.    Damit ist ein Verschieben der Anzeige in der Menüzeile möglich. Das ist
  332.    u.U. vorteilhaft, da auch andere Programme ihre Ausgaben rechts oben in der
  333.    Menüzeile machen.
  334.    Achtung: Warten Sie einen Augenblick, nachdem Sie einen Pfeile angeklickt
  335.    haben. Sie können dann die Wirkung direkt in der Menüzeile beobachten.
  336.  
  337. 4. Button "Bildschirmschoner"
  338.    Damit kann der Bildschimschoner abgeschaltet werden, oder ein anderer Typ
  339.    gewählt werden, der das laufende Programm nicht unterbricht, dafür aber
  340.    nicht so schön ist. Der Typ "Shifter" benötigt unbeding einen residenten
  341.    Puffer. Der Typ "Palette" benötigt überhaupt keinen zusätzlichen Speicher,
  342.    er invertiert lediglich das Bild, indem er die Farbpalette vorübergehend
  343.    ändert.
  344.  
  345. 5. Edit-Feld "Zeit"
  346.    Hier wird die Zeit (in Sekunden) eingetragen, nach der der Bildschirm
  347.    dunkel werden soll, wenn keine Mausbewegung oder Tastenaktionen mehr er-
  348.    folgt sind. Die gleiche Zeit gilt auch für den Festplatten-Autoparker.
  349.  
  350. 6. Edit-Feld "residenter Puffer"
  351.    Der Bildschirmschoner vom Typ "Shifter" benötigt in jedem Fall einen Bild-
  352.    puffer, der bereits beim Programmstart reserviert werden muß.
  353.    Wenn hier nichts eingetragen wird, aber der Typ "Shifter" gewählt wurde,
  354.    wird die Puffergröße automatisch beim Programmstart bestimmt. Das kann aber
  355.    u.U. falsche Werte ergeben, z.B bei Benutzung von Autoswitch-Overscan.
  356.    Ein residenter Bildpuffer kann aber auch für den Bildschirmschoner vom
  357.    Typ "VDI" nützlich sein, weil bestimmte Programme (z.B. Script, Tempus) den
  358.    gesamten verfügbaren Speicher an sich reißen und dann für den Bildschirm-
  359.    schoner nichts bleibt. Wenn kein Puffer resident ist, fordert der Schoner
  360.    vom Typ "VDI" jedesmal beim Dunkelmachen den Puffer beim Betriebssystem an
  361.    und gibt ihn beim Hellmachen wieder frei. Unter Script oder Tempus würde
  362.    er dann also nicht funktionieren.
  363.    (Weitere Informationen dazu im Kapitel für Insider)
  364.  
  365. 7. Button "Prozeß-Switch"
  366.    Wird normalerweise nicht geändert. Dient der Anpassung bei eventuellen
  367.    Unverträglichkeiten mit anderen Programmen (näheres im Kapitel für Insider)
  368.  
  369. 8. Button "akust. Kontr." (akustische Kontrolle)
  370.    Die Funktion ist nützlich zur Kontrolle, ob überhaupt Impulse von der
  371.    Funkuhr ankommen und zum Ausrichten des Empfängers. Bei eingeschalteter
  372.    Kontrolle ertönt ein Piepton im Takt der Funkuhrimpulse.
  373.  
  374. Die unteren drei Buttons "Sichern", "OK" und "Abrruch" haben die auch von an-
  375. deren CPX-Modulen bekannten Funktionen:
  376. "Sichern" speichert alle Einstellungen im CPX-Modul selber und im Programm
  377. CLOCKDRV.PRG. Beim nächsten Start ist das Programm dann wie gewünscht konfi-
  378. guriert.
  379. "OK" übernimmt die aktuellen Einstellungen und verläßt den Modul.
  380. "Abbruch" stellt die Einstellungen wieder her, die beim Aufruf des Moduls
  381. geherrscht haben, und verläßt den Modul.
  382.  
  383. Wenn sich CLOCKDRV.PRG bereits resident im Speicher befindet, werden bei
  384. "Sichern" und bei "OK" auch die Funktionen des im Speicher befindlichen
  385. Treibers umgeschaltet.
  386. Bei einigen Funktionen muß allerdings neu gebootet werden, damit sie wirksam
  387. werden:
  388. 1. wenn kein Puffer resident ist und der Bildschirmschoner auf Shifter umge-
  389.    schaltet wird,
  390. 2. wenn zwischen Timer-A und VBL gewechselt wird.
  391.  
  392.  
  393.  
  394. ******************************************************************************
  395.  
  396.  
  397.  
  398. 4. EINSCHRÄNKUNGEN
  399. __________________
  400.  
  401.  
  402.  
  403. Wenn Datum/Uhrzeit in der Menüzeile angezeigt werden sollen oder der Bild-
  404. schirmschoner vom Typ "VDI" das Bild verdunkeln soll, muß sich der Rechner
  405. im User-Modus befinden. Es scheint so zu sein, daß der Desktop nicht in den
  406. User-Modus wechselt, wenn keine Desk-Accessories installiert sind. Das hat
  407. zur Folge, daß dann der Bildschirmschoner "VDI" und die Zeitanzeige nicht
  408. aktiv werden können. Das betrifft jedoch nur den Desktop. In jedem anderen
  409. GEM-Programm funktioniert alles einwandfrei.
  410.  
  411. Die Zeitaktualisierung in der Menüzeile erfolgt normalerweise einmal pro
  412. Sekunde. Aus dem eben genannten Grund kann sich das jedoch etwas verzögern
  413. (genauso wie die Abschaltung des Bildschirmes mit dem Schoner vom Typ "VDI").
  414.  
  415. Einen Fehler konnte ich bis jetzt noch nicht beseitigen: Beim Booten kommt es
  416. manchmal zum "Hängenbleiben" des Rechners. Dann hilft nur der Reset-Knopf.
  417.  
  418.  
  419. ******************************************************************************
  420.  
  421.  
  422.  
  423. 5. ANSCHLUSS EINER FUNKUHR AN DEN ATARI
  424. _______________________________________
  425.  
  426.  
  427.  
  428. Funkuhren gibt es als Fertiggeräte oder als Bausätze (z.B. bei ELV).
  429. Für alle, die mit einem Lötkolben umgehen können, dürfte der Anschluß einer
  430. handelsüblichen Funkuhr an den ATARI keine Schwierigkeit darstellen.
  431. Wer sich das nicht zutraut, aber trotzdem nicht auf eine Funkuhr am ATARI
  432. verzichten möchte, dem kann geholfen werden. Er rufe mich einfach mal an.
  433.  
  434. Die Funkuhr wird an den Joystickport des ATARI angeschlossen. Prinzipiell
  435. könnte auch der Druckerport verwendet werden, der ist jedoch i.a. belegt.
  436. Deshalb habe ich den Treiber ausschließlich für den Joystickport vorgesehen.
  437.  
  438. Voraussetzung für die Möglichkeit, eine vorhandene Funkuhr mit dem ATARI
  439. koppeln zu können ist, daß sich die Sekundenimpulse, die vom Sender DCF-77
  440. empfangen werden, an irgend einer Stelle in der Uhr abgreifen lassen.
  441. Bei Uhren, die mit dem IC U2775B bestückt sind (das sind die meisten), ist
  442. das Pin 14 des ICs. Bei anderer Bestückung muß ein passender Punkt gesucht
  443. werden. Hobbyelektroniker, die im Besitz eines Oszilloskops sind, werden keine
  444. Schwierigkeiten haben, ihn zu finden: Die Impulsfrequenz ist genau 1Hz,
  445. die Impulsbreite 0.1s oder 0.2s (0.1s für binär 0, 0.2s für binär 1).
  446.  
  447. ACHTUNG: Handelsübliche Funkuhren gehen aus Gründen des Stromverbrauchs
  448. nur einmal pro Stunde auf Empfang, dazwischen läuft die Uhr als ganz normale
  449. Quarzuhr weiter. Es gibt aber meistens eine Möglichkeit, die Uhr zwangsweise
  450. auf Empfang zu bringen. Schauen Sie in der Bedienungsanleitung nach.
  451. Außerdem besteht natürlich die Möglichkeit, durch einen kleinen "Eingriff"
  452. auf Dauerempfang zu gehen. Bei Uhren mit dem IC U2775B muß die Leitung
  453. zum Pin 13 aufgetrennt werden und Pin 13 mit Pin-16 (+UB) verbunden werden.
  454.  
  455. Leider reicht weder die Ausgangsspannung des ICs noch der Strom, um damit
  456. direkt den ATARI ansteuern zu können. Der Impuls muß noch verstärkt werden.
  457. Dazu reicht eine einfache Transistorstufe in Emitterschaltung aus:
  458. Ein npn-Transistor z.B. BC172, Widerstand 50k-150k von der Basis zum Pin 14
  459. des U2775B, Emitter an Masse, Kollektor zum Joystickport. Einen Kollektorwi-
  460. derstand kann man sich sparen, da der Joystickport pullup-Widerstände hat.
  461. Die Impulse werden dem Joystickport auf Pin 1 zugeführt. Am einfachsten nimmt
  462. man dazu ein fertiges Kabel von einem billigen Joystick. Wer es elegant machen
  463. will, der lötet das Kabel nicht fest in der Uhr an, sondern versieht die Uhr
  464. mit einer Miniklinkenbuchse und das Joystickabel mit einem passenden Stecker
  465. (wie sie z.B. für Walkman-Kopfhörer verwendet werden), dann kann die Uhr
  466. jederzeit abgekoppelt werden und ist auch noch als Reisewecker brauchbar.
  467.  
  468.  
  469. ******************************************************************************
  470.  
  471.  
  472.  
  473. 6. INFORMATIONEN FÜR INSIDER
  474. ____________________________
  475.  
  476.  
  477.  
  478. CLOCKDRV.PRG benutzt für die Anzeige der Uhrzeit in der Menüzeile ausschließ-
  479. lich VDI-Routinen. Ebenso werden VDI-Routinen vom Bildschirmschoner Typ "VDI"
  480. verwendet. Das hat den Vorteil, daß der Schoner unabhängig vom Betriebssystem
  481. und von der Hardware funktioniert.
  482. Damit die VDI-Funktionen verwendet werden können, wird mit einem kleinen Trick
  483. gearbeitet: Befindet sich das laufende Programm gerade im Usermodus, so wird
  484. es eingefroren, d.h. alle Register und der Stackpointer werden gesichert und
  485. auf einen zweiten Prozeß umgeschaltet, der dann entweder den Bildschirm dunkel
  486. macht, oder die Zeit in die Menüzeile schreibt. Wenn der Zweitprozeß fertig
  487. ist, wird das ursprüngliche Programm fortgesetzt.
  488. Die Prozeßumschaltung erfolgt per Timer-Interrupt. Dafür kann entweder der
  489. Timer A des MFP genutzt werden, oder der VBL-Interrupt. Normalerweise ist
  490. der Timer A unbenutzt, und seiner Verwendung steht nichts im Wege. Sollte er
  491. aber bereits von einem anderen Programm genutzt werden, so kann auf den VBL-
  492. Interrupt ausgewichen werden. Die entsprechende Konfigurierung wird über das
  493. Kontrollfeld vorgenommen und gesichert. Eine Änderung wird erst beim nächsten
  494. Booten wirksam.
  495. Wenn durch die Prozeßumschaltung Unverträglichkeiten mit anderen Programmen
  496. bestehen, so kann auf eine andere Version des Bildschirmschoners ausgewichen
  497. werden (Typ Shifter oder Palette).
  498. Die Puffergröße für den residenten Bildschirmpuffer des Types "Shifter" wird
  499. normalerweise automatisch beim Programmstart bestimmt. Wenn jedoch Hardware-
  500. erweiterungen wie z.B. Autoswitch-Overscan installiert sind, so kann es sinn-
  501. voll sein, eine bestimmte Puffergröße zu definieren.
  502.  
  503.  
  504. CLOCKDRV.PRG verbiegt folgende Vektoren:
  505.  
  506.  Trap 1  (GEMDOS)
  507.  Trap 2  (GEM)
  508.  Trap 13  (BIOS)
  509.  Trap 14  (XBIOS)
  510.  200-Hz-Systemtimer (Timer-C des MFP)
  511.  VBL oder Timer-A des MFP  (je nach Konfiguration)
  512.  IKBD-Systemvektor
  513.  IKBD-Status-Vektor
  514.  IKBD-Clock-Vektor
  515.  IKBD-Joystick-Vektor
  516.  
  517. Es wird das XBRA-Verfahren verwendet. Die Kennung lautet 'DCF7'.
  518. Außerdem wird ein Cookie mit gleichem Namen installiert.
  519. Sollte noch kein Cookie-Jar vorhanden sein, so wird er angelegt. Bei einem
  520. Reset wird er dann auch wieder korrekt entfernt.
  521. Der Wert des Cookies ist ein Zeiger auf folgende Struktur:
  522. ( Diese Struktur befindet sich in der Datei CLOCKDRV.PRG genau 32 Bytes hinter
  523. dem Dateianfang. )
  524.  
  525. typedef struct conf_vars
  526.   {
  527.   LONG        id;        /* Kennung 'DCF7' */
  528.   WORD          config;         /* Bitfeld zur Konfigurierung */
  529.   WORD          updtlimit;      /* Uddatezeit der Menüzeile in 1/200 Sek. */
  530.   WORD          darklimit;      /* Bildschirmschoner / Autopark in Sekunden */
  531.   LONG          bufsize;        /* Größe des residenten Bildpuffers */
  532.   DCF_TIME      *dcf_time;      /* Zeiger auf Struktur vom DCF-77-Treiber */
  533.   WORD          phys_handle;    /* VDI-Handle der phys. Workstation */
  534.   volatile LONG hz200;          /* Ein eigener 200 Hz Zähler */
  535.   volatile BYTE light_on;       /* wenn ungleich 0 -> Bildschirm hell */
  536.   } CONF_VARS;
  537.  
  538. In dieser Struktur sind diverse Variablen, mit deren Hilfe CLOCKDRV.PRG
  539. konfiguriert wird.
  540. Die zwei Variablen 'hz_200' und 'Light_on' werden von Interruptroutinen verän-
  541. dert: 'hz200' ist ein Zähler, der alle 1/200 Sekunden inkrementiert wird, Er
  542. kann vom Anwender für Zeitmessungen verwendet werden. 'light_on' wirk auf
  543. den Bildschirmschoner. Bei jeder Mausbewegung oder Tastaturaktion wird diese
  544. Variable auf ungleich 0 gesetzt. Das kann auch vom Anwender gemacht werden,
  545. um den dunklen Bildschirm programmgesteuert hellzutasten.
  546. Im Bitfeld 'config' sind die Funktionen von CLOCKDRV.PRG konfiguriert durch
  547. Veroderung folgender Werte:
  548.  
  549. #define SHOWTIME   0x0001       /* Anzeige der Uhrzeit */
  550. #define SHOWDATE   0x0002       /* Anzeige des Datums */
  551. #define SHOWDIGI   0x0004       /* Anzeige als Digitalziffern */
  552. #define SCHONER1   0x0008       /* Bildschirmschoner Typ VDI */
  553. #define SCHONER2   0x0010       /* Bildschirmschoner Typ Shifter */
  554. #define SCHONER3   0x0100       /* Bildschirmschoner Typ Palette */
  555. #define SW_TIMER   0x0020       /* Umschaltung mit Timer-A statt VBL */
  556.  
  557. 'dcf_time' zeigt auf folgende Struktur:
  558.  
  559. typedef struct dcf_time
  560.   {
  561.   LONG  hi_time;
  562.   LONG  lo_time;
  563.   BYTE  seconds;        /* exakte Sekundenangabe */
  564.   BYTE  valid;          /* ungleich 0, wenn die Daten gültig sind */
  565.   BYTE  syncflag;       /* ungleich 0, wenn Synchronimpuls empfangen wird */
  566.   BYTE  pulse;        /* ungleich 0, wenn korrekte Impulse ankommen */
  567.   } DCF_TIME;
  568.  
  569. Diese Struktur wird vom DCF-77-Empfangstreiber gefüllt, d.h. sie enthält nur
  570. sinnvolle Werte, wenn ein DCF-77-Empfänger angeschlossen ist. Durch Zugriff
  571. auf diese Struktur kann der Anwender die genaue "Atomzeit" erfahren.
  572. hi_time und lo_time ergeben zusammen ein 64-Bit-Feld, in das die vom DCF-77-
  573. Empfänger korrekt empfangenen Daten eingetragen werden. Darin sind Datum und
  574. Uhrzeit folgendermaßen kodiert:
  575.  
  576. Bit 21-27 Minuten im BCD-Format
  577. Bit 29-34 Stunden im BCD-Format
  578. Bit 36-41 Kalendertag im BCD-Format
  579. Bit 42-44 Wochentag
  580. Bit 45-49 Kalendermonat im BCD-Format
  581. Bit 50-57 Kalenderjahr-1900 im BCD-Format
  582.  
  583. phys_handle ist das VDI-Handle der physikalischen Bildschirmarbeitsstation.
  584. Da dieses in einem AUTO-Ordner-Programm nicht bestimmt werden kann, wird es
  585. einfach festgelegt. In allen mir bekannten Betriessystemversionen ist es 1.
  586. Sollte sich das jedoch mal ändern, kann die Variable gepatcht werden.
  587.  
  588.  
  589.  
  590. ******************************************************************************
  591.  
  592.  
  593.  
  594. 7. HOTLINE
  595. __________
  596.  
  597.  
  598.  
  599. Fragen, Hinweise, Wünsche an:
  600.  
  601. Klaus Rittmeier
  602. Preußerstraße 33
  603. 06217 Merseburg
  604. Tel.: (03461) 214093
  605.  
  606.  
  607.  
  608. ******************************************************************************
  609.  
  610.  
  611. 8. Updates
  612. __________
  613.  
  614. ab Version 1.03
  615.  
  616. - Festplatten-Autopark-Funktion entfällt
  617. - "sauberere" Programmierung, weil keine Verwendung mehr von LINEA-Funktionen,
  618.   daher auch mit TOS 2.06 / 3.06 lauffähig
  619. - Beim Schoner Typ "Shifter" kann nicht mehr mit der Maus zwangsweise
  620.   dunkelgeschaltet werden, oder die Bildschirmabschaltung verhindert werden.
  621.  
  622. ab Version 1.1
  623.  
  624. - neu ist der Bildschirmschoner Typ "Palette".
  625.  
  626.  
  627. ******************************************************************************
  628.  
  629.  
  630. 9. wenn es nicht so läuft, wie es soll...
  631. -----------------------------------------
  632.  
  633. CLOCKDRV läuft bei vielen Nutzern einwandfrei. Da es sich jedoch um ein sehr
  634. "hardware-nahes" Programm handelt, kann es in der einen oder anderen Konfigu-
  635. ration zu Unverträglichkeiten mit anderen Programmen kommen. Sollte bei Ihnen
  636. ein solcher Fall eintreten, so bitte ich Sie, mich zu benachrichtigen.
  637. Ich bin bemüht, CLOCKDRV an alle Konfigurationen anzupassen.
  638.  
  639. Wichtig sind für mich folgende Informationen:
  640.  
  641. - Rechnertyp
  642. - Betriebssystem-Version (die ist dem Laien leider nicht so ohne weiteres
  643.   zugänglich. Ersatzweise reicht auch die Jahreszahl, die in der Dialogbox
  644.   beim Aufruf des Menüpunktes "Desktop-Info..." im Menü "DESK" erscheint.
  645. - Hardware-Erweiterungen
  646. - Programme im AUTO-Ordner (Wichtig ist u.U. auch die Reihenfolge, in der sie
  647.   abgearbeitet werden, die ist nicht zwangsläufig identisch mit der Reihenfol-
  648.   ge, in der sie auf dem Desktop angezeigt werden ! )
  649. - installierte Desk-Accesories
  650. - Bei welchen Programmen treten Fehler auf ?
  651.  
  652.